МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет
“ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Основи Bash
ЛАБОРАТОРНА РОБОТА № 4
З ДИСЦИПЛІНИ “МЕРЕЖЕВІ ОПЕРАЦІЙНІ СИСТЕМИ”
Мета роботи
познайомитися з призначенням та основними можливостями оболонки bash;
познайомитися з основними правилами написання сценарiїв оболонки bash;
познайомитися з середовищем оболонки bash та правилами розкривання команд оболонки.
Короткі теоретичні відомості
Подібно до того, як люди знають декілька мов та діалектів, UNIX надає на ваш вибір
декілька різних оболонок:
• sh, чи оболонка Борна (Bourne Shell): перша оболонка, яка була використана у UNIX-
подібних середовищах. Це базова оболонка, маленька та з невеликим набором
можливостей. Та й хоча вона не є стандартною оболонкою, вона присутня на кожній
системі з встановленим Linux. Це зроблено для того, щоб забезпечити сумісність з
програмами UNIX.
• bash, чи нова оболонка Борна (Bourne Again Shell): стандартна оболонка GNU,
інтуїтивна та розвинена. Вона підійде як новачкам, так і професіоналам. У більшості
користувачів Linux стандартною оболонкою встановлено саме bash. У деякому сенсі
bash — це надбудова над sh, набір доповнень та додаткових модулів. Таким чином,
нова оболонка Борна сумісна зі звичайною оболонкою Борна: команди, що працюють
у sh, будуть працювати і у bash. Тим не менш, зворотне твердження не завжди є
вірним. Усі приклади в цій книзі використовують bash.
У файлі /etc/shells знаходиться інформація про оболонки, присутні у системі:
mia:~> cat /etc/shells
/bin/bash
/bin/sh
/bin/tcsh
/bin/csh
Стандартна оболонка встановлюється у файлі /etc/passwd. Наприклад, рядок користувача
mia:
mia:L2NOfqdlPrHwE:504:504:Mia Maya:/home/mia:/bin/bash
Сценарій оболонки — це послідовність команд, розрахована для багаторазового вжитку.
Зазвичай для виконання цієї послідовності назву сценарію вводять у командному рядку.
Сценарії також можна застосувати для автоматизації задач, використовуючи можливості
інструменту cron. Ще один приклад — завантаження та зупинка систем UNIX, під час яких у
спеціальних сценаріях визначаються набори демонів та служб, які потрібно запустити або
вимкнути.
Загальносистемні файли ініціалізації
/etc/profile
Якщо оболонка запущена з опцією —login чи як sh, ‘‘bash’’ зчитує інструкції з файлу
/etc/profile. Як правило в цей час установлюються змінні PATH, USER, MAIL, HOSTNAME
та HISTSIZE. В деяких системах в цьому ж файлі задається значення umask; в інших тут
знаходяться вказівники на інші файли, як от
• /etc/inputrc, загальносистемний файл ініціалізації, в якому ви можете задати стиль
дзвінка командного рядка.
• каталог /etc/profile.d, що містить файли, які задають загальносистемну поведінку
певних програм.
Цей файл конфігурації встановлює деякі основні змінні середовища оболонки, а також
змінні, що необхідні для запуску Java та/чи Java програм у веб-броузері. За докладнішою
інформацією зверніться до параграфу 3.2.
Особисті користувацькі файли налаштувань
~/.bash_profile
Цей файл має більшу вагу, аніж загальносистемний. В ньому користувач може задавати
додаткові налаштування середовища, чи перепризначити системні.
~/.bash_login
Цей файл містить специфічні команди, які зазвичай виконуються тільки після реєстрації в
системі. Наприклад, ми використаємо його, щоб задати значення umask та щоб відтворити
список користувачів, що працюють в системі в момент нашої реєстрації. Також користувач
отримує календар на поточний місяць.
~/.bashrc
Сьогодні доволі часто застосовується запуск оболонки без реєстрації, наприклад, якщо ви
реєструвались у системі засобами Х. В цьому випадку, запускаючи оболонку, користувач не
повинен вводити свого імені та паролю; реєстрації не відбувається. В такому випадку ‘‘bash’’
шукає файл ~/.bashrc, то ж в ньому знаходяться посилання на файли, що аналізуються під час
реєстрації, щоб вам не доводилось вводити одні і ті ж команди двічі.
Символи екранування
Символи екранування (escape characters) ви...